An operating system for a computer generally can handle input events from input devices on the computer in a variety of ways. In general, the operating system orders input events from multiple input devices by their time of occurrence, provides the ordered input events to applications on the computer. Input events that affect visual elements on a display can be handled by a dedicated thread, separate from main application threads, in order to allow these visual elements to be manipulated quickly and provide a smooth end user experience.